/**
 */
package org.mro.grib.model.files.secondEdition.products;

import org.eclipse.emf.common.util.EList;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Product Definition Template430</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate430#getParameterCategory <em>Parameter Category</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate430#getParameterNumber <em>Parameter Number</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate430#getTypeOfGeneratingProcess <em>Type Of Generating Process</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate430#getObservationGeneratingProcessIdentifier <em>Observation Generating Process Identifier</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate430#getNumberOfContributingSpectralBands <em>Number Of Contributing Spectral Bands</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate430#getContributingBandOffsets <em>Contributing Band Offsets</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate430()
 * @model annotation="http://www.eclipse.org/emf/2002/GenModel description_en='Satellite product' note_1_en='For \u201csatellite series of band nb\u201d, \u201csatellite numbers of band nb\u201d and \u201cinstrument types of band nb\u201d, it is recommended to\r\nencode the values as per BUFR Code tables 0 02 020, 0 01 007 (Common Code table C\u20135) and 0 02 019 (Common\r\nCode table C\u20138), respectively.'"
 * @generated
 */
public interface ProductDefinitionTemplate430 extends IProductDefinition {
	/**
	 * Returns the value of the '<em><b>Parameter Category</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Parameter Category</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Parameter Category</em>' attribute.
	 * @see #setParameterCategory(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate430_ParameterCategory()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Parameter category' description_en='Parameter category (see Code table 4.1)'"
	 * @generated
	 */
	byte getParameterCategory();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate430#getParameterCategory <em>Parameter Category</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Parameter Category</em>' attribute.
	 * @see #getParameterCategory()
	 * @generated
	 */
	void setParameterCategory(byte value);

	/**
	 * Returns the value of the '<em><b>Parameter Number</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Parameter Number</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Parameter Number</em>' attribute.
	 * @see #setParameterNumber(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate430_ParameterNumber()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Parameter number' description_en='Parameter number (see Code table 4.2)'"
	 * @generated
	 */
	byte getParameterNumber();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate430#getParameterNumber <em>Parameter Number</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Parameter Number</em>' attribute.
	 * @see #getParameterNumber()
	 * @generated
	 */
	void setParameterNumber(byte value);

	/**
	 * Returns the value of the '<em><b>Type Of Generating Process</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Type Of Generating Process</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Type Of Generating Process</em>' attribute.
	 * @see #setTypeOfGeneratingProcess(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate430_TypeOfGeneratingProcess()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Type of generating process' description_en='Type of generating process (see Code table 4.3)'"
	 * @generated
	 */
	byte getTypeOfGeneratingProcess();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate430#getTypeOfGeneratingProcess <em>Type Of Generating Process</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Type Of Generating Process</em>' attribute.
	 * @see #getTypeOfGeneratingProcess()
	 * @generated
	 */
	void setTypeOfGeneratingProcess(byte value);

	/**
	 * Returns the value of the '<em><b>Observation Generating Process Identifier</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Observation Generating Process Identifier</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Observation Generating Process Identifier</em>' attribute.
	 * @see #setObservationGeneratingProcessIdentifier(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate430_ObservationGeneratingProcessIdentifier()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Observation generating process identifier' description_en='Observation generating process identifier (defined by originating centres)'"
	 * @generated
	 */
	byte getObservationGeneratingProcessIdentifier();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate430#getObservationGeneratingProcessIdentifier <em>Observation Generating Process Identifier</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Observation Generating Process Identifier</em>' attribute.
	 * @see #getObservationGeneratingProcessIdentifier()
	 * @generated
	 */
	void setObservationGeneratingProcessIdentifier(byte value);

	/**
	 * Returns the value of the '<em><b>Number Of Contributing Spectral Bands</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Number Of Contributing Spectral Bands</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Number Of Contributing Spectral Bands</em>' attribute.
	 * @see #setNumberOfContributingSpectralBands(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate430_NumberOfContributingSpectralBands()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='NB' description_en='Number of contributing spectral bands'"
	 * @generated
	 */
	byte getNumberOfContributingSpectralBands();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate430#getNumberOfContributingSpectralBands <em>Number Of Contributing Spectral Bands</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Number Of Contributing Spectral Bands</em>' attribute.
	 * @see #getNumberOfContributingSpectralBands()
	 * @generated
	 */
	void setNumberOfContributingSpectralBands(byte value);

	/**
	 * Returns the value of the '<em><b>Contributing Band Offsets</b></em>' attribute list.
	 * The list contents are of type {@link java.lang.Long}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Contributing Band Offsets</em>' attribute list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Contributing Band Offsets</em>' attribute list.
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate430_ContributingBandOffsets()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Satellite series of band nb' description_en='Satellite series of band nb (code table defined by originating/generating centre)'"
	 * @generated
	 */
	EList<Long> getContributingBandOffsets();

} // ProductDefinitionTemplate430
